* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  font-size: 16px;
  font-family: 'Open Sans';
  --text-primary:#ccc;
  --text-option1:#ececec;
  --text-option2:#b6b6b6;
  --bg-primary:#101315;
  --bg-option1:#23232e;
  --bg-option2:#141418;
  --fire-orange:#fd864a;
  --darkfire:#df6b31;
  --input-border: rgba(255, 255, 255, .2);
  --input-button: #b4b4b9;
  --danger: #000080;
}

.lightmode {
  --text-primary: #141418;
  --text-option1:#23232e;
  --text-option2: #101315;
  --bg-primary: #fffdf5;
  --bg-option1: #d4d4d4;
  --bg-option2: #ccc;
  --fire-orange:#1267ad;
  --darkfire: var(--fire-orange);
  --input-border: rgba(20, 20, 24, .2);
  --input-button: #414141;
  --danger:#fff01d;
}

.lightmode svg{
  fill: var(--text-option1);
}

header {
  font-size: 2rem;
  text-align: center;
  background: var(--bg-option1);
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--bg-primary);
  color: var(--text-primary);
}

body::-webkit-scrollbar {width: 0.5rem;}

body::-webkit-scrollbar-track {background: var(--bg-option1);}

body::-webkit-scrollbar-thumb{background: var(--text-option2);}

main {
  margin-left: 11rem;
  margin-bottom: 1rem;
  font-size: large;
}

#page-title {
  font-size: 1.6rem;
  padding-bottom: .5rem;
}

ul{
  list-style-type: none;
  margin: 0;
  padding: 0.5rem;
}

.navbar {
  width: 10.5rem;
  position: absolute;
  background: var(--bg-option1);
  display: flex;
  justify-content: center;
  left:0px;
  top:0px;
  z-index: 2;
}

.navbar svg{vertical-align: sub;}

.navlist {
  list-style-type: none;
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100vh;
}

.nav-item {
  font-size: 1.4rem;
  margin-bottom: .1rem;
  padding: .5rem;
}

.nav-link:hover {
  color: var(--fire-orange);
  cursor: pointer;
}
.nav-link:hover svg{fill:var(--fire-orange);}


.nav-link {
  background: var(--bg-option1);
  color: var(--text-primary); 
  border: none;
  margin-left: 0%;
  transition: none;
}

.nav-item:last-child {
  margin-top: auto;
  margin-bottom: 2rem;
}

#theme-switch span:last-child {display: none;}
#theme-switch svg:nth-child(3) {display: none;}
.lightmode #theme-switch svg:first-child {display: none;}
.lightmode #theme-switch svg:nth-child(3) {display: inline-block;}
.lightmode #theme-switch span:nth-child(2) {display: none;}
.lightmode #theme-switch span:last-child {display: inline-block;}

.collapsed .nav-text{display: none;}
#page-title svg{display:none;}
#collapse-expand svg:nth-child(2){display:none;}
.navCollapsed #page-title svg{display:inline-block;}
.navCollapsed #page-title span{display:none;}
.navCollapsed #collapse-expand svg:first-child{display:none;}
.navCollapsed #collapse-expand svg:nth-child(2){display: inline-block;}
.navCollapsed .navbar{width: 4rem;}
.lightmode .collapsed #theme-switch span:last-child {display: none;}
.navCollapsed main {margin-left: 4.1rem;}
.navCollapsed footer {
  margin-left: 4.1rem;
}

#spectate-button {display: none;}
#community-button {display: none;}
#logout-button {display: none;}
#more-button span:last-child {display: none;}
.moretoggle #more-button span:nth-child(2) {display: none;}
.moretoggle #more-button span:last-child {display: inline-block;}
.moretoggle #spectate-button {display:block;}
.moretoggle #community-button {display:block;}
.moretoggle #logout-button {display:block;}
.collapsed #more-button span:last-child {display: none;}

#welcome-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center;
  min-height: 90vh;
}
#login-main {display: none;}
#build-main {display: none;}
#play-main {display: none;}
#browse-main {display: none;}
#settings-main {display: none;}
#spectate-main {display: none;}
#community-main {display: none;}
#register-main {display: none;}
#forgot-main {display:none;}
#forgot-username-main {display:none;}

.mainSwitchLogin #welcome-main{display: none;}
.mainSwitchLogin #build-main{display: none;}
.mainSwitchLogin #play-main{display: none;}
.mainSwitchLogin #browse-main{display: none;}
.mainSwitchLogin #settings-main{display: none;}
.mainSwitchLogin #spectate-main{display: none;}
.mainSwitchLogin #community-main{display: none;}
.mainSwitchLogin #register-main {display: none;}
.mainSwitchLogin #forgot-main {display:none;}
.mainSwitchLogin #forgot-username-main {display:none;}
.mainSwitchLogin #login-main{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 90vh;
}

.login-wrapper, .accountSettingsWrapper{
  width: 420px;
  background: var(--bg-option1);
  color: var(--text-primary); 
  border-radius: 10px;
  padding: 30px 40px;
}

.login-wrapper h1, .accountSettingsWrapper h1{
  font-size: 36px;
  text-align: center;
}

.login-wrapper .input-box {
  position: relative;
  width: 100%;
  height: 50px;
  margin: 30px 0;
}

.input-box input {
  width: 100%;
  height: 100%;
  background: transparent;
  outline: none;
  border: 2px solid var(--input-border);
  border-radius: 40px;
  font-size: 16px;
  color: var(--text-primary); 
  padding: 20px 45px 20px 20px;
}

.input-box input::placeholder {
  color: var(--text-primary); 
}

.input-box svg {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
}

.show-password{
  margin-top: 0%;
  margin-bottom: 25px;
  font-size: 1rem;
}

.visibilitycheckboxtext{
  position: absolute;
  text-align: center;
  padding-left: .5rem;
}

.login-wrapper .remember {
  display: flex;
  justify-content: center;
  font-size: 1rem;
  margin: -15px 0 15px;
}

.remember label {
  accent-color: var(--text-primary);
  margin-left: 3px;
  font-size: 1rem;
}

.forgot-password ,.forgot-username{
  display: flex;
  justify-content: center;
  padding: .5rem;
}

.login-wrapper .button ,#settings-main button{
  width: 100%;
  height: 2.8125rem;
  background: var(--input-button);
  border: none;
  outline: none;
  border-radius: 2.5rem;
  box-shadow: 0 0 .625rem rgba(0, 0, 0, .1);
  cursor: pointer;
  font-size: 1rem;
  color: var(--bg-option2);
  font-weight: 600;
  text-align: center;
  margin-bottom: .4rem;
}

.login-wrapper .button:hover ,#settings-main button:hover{
  background: var(--darkfire);
  transition: .5s;
}

.login-wrapper #register-link, #forgot-password, #forgot-username{
  margin-top: 10px;
  width: 100%;
  height: 45px;
  text-align: center;
}

.login-wrapper #register-link:hover, #forgot-password:hover, #forgot-username:hover{
  text-decoration: underline;
  color: var(--fire-orange);
  cursor: pointer;
}

.login-wrapper input[type="checkbox"] {
  position: relative;
  margin-top: auto;
  width: 40px;
  height: 20px;
  background:var(--bg-option2);
  outline: none;
  border-radius: 10px;
  box-shadow: inset 0 0 2.5px rgba(0,0,0, .2);
  transition: .5s;
}

.login-wrapper input:checked[type="checkbox"] {
  background: var(--fire-orange);
  transition: .5s;
}

.login-wrapper input[type="checkbox"]:before {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  top: 0;
  left: 0;
  background: var(--input-button);
  transform: scale(1.1);
  box-shadow: 0 1px 2.5px rgba(0,0,0, .2);
  transition: .5s;
}

.login-wrapper input:checked[type="checkbox"]:before {
  left: 20px;
  transition: .5s;
}

.login-wrapper input[type="checkbox"]:hover {
  cursor: pointer;
}

.login-wrapper p{
  text-align: center;
}

.form-error, .form-success {
  height: 1.8rem;
  width: 420px;
  color: var(--text-primary); 
  border-radius: 10px;
  background: var(--input-border);
  text-align: center;
  margin-bottom: .125rem;
  padding-bottom: .125rem;
  font-size: 1.2rem;
}

.form-success {
  color: var(--fire-orange);
}

.mainSwitchBuild #welcome-main{display: none;}
.mainSwitchBuild #login-main{display: none;}
.mainSwitchBuild #play-main{display: none;}
.mainSwitchBuild #browse-main{display: none;}
.mainSwitchBuild #settings-main{display: none;}
.mainSwitchBuild #spectate-main{display: none;}
.mainSwitchBuild #community-main{display: none;}
.mainSwitchBuild #register-main{display: none;}
.mainSwitchBuild #forgot-main{display:none;}
.mainSwitchBuild #forgot-username-main{display:none;}
.mainSwitchBuild #build-main{display: block;}

.mainSwitchBuild{overflow: hidden;}

#build-blocker, .gameMenu {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  z-index: 1;
  top: 0;
  left: 5.75rem;
}

.navCollapsed #build-blocker, .navCollapsed .gameMenu{
  left: 2.05rem;
}

#build-instructions, .gameMenu {
  height: 100%;
  width: 100%;

  display: flex;
  flex-direction: column;
  justify-content: center;

  text-align: center;
  font-size: 14px;
  cursor: pointer;
}

.gameMenu button:hover {
  text-decoration: underline;
  color: var(--fire-orange);
  cursor: pointer;
}

.lightmode .gameMenu, .lightmode #build-instructions {
  background-color: rgba(255, 255, 255, 0.25);
  color: var(--text-primary);
}

.gameOverlay {
  position: relative;
  z-index: 1;
  pointer-events: none;
  width: 100vw - 11px;
}

#name-input {
  padding: 20px;
}

.mainSwitchPlay #welcome-main{display: none;}
.mainSwitchPlay #login-main{display: none;}
.mainSwitchPlay #build-main{display: none;}
.mainSwitchPlay #browse-main{display: none;}
.mainSwitchPlay #settings-main{display: none;}
.mainSwitchPlay #spectate-main{display: none;}
.mainSwitchPlay #community-main{display: none;}
.mainSwitchPlay #register-main {display: none;}
.mainSwitchPlay #forgot-main {display:none;}
.mainSwitchPlay #forgot-username-main {display:none;}
.mainSwitchPlay #play-main{display: block;}

.mainSwitchBrowse #welcome-main{display: none;}
.mainSwitchBrowse #login-main{display: none;}
.mainSwitchBrowse #build-main{display: none;}
.mainSwitchBrowse #play-main{display: none;}
.mainSwitchBrowse #settings-main{display: none;}
.mainSwitchBrowse #spectate-main{display: none;}
.mainSwitchBrowse #community-main{display: none;}
.mainSwitchBrowse #register-main {display: none;}
.mainSwitchBrowse #forgot-main {display:none;}
.mainSwitchBrowse #forgot-username-main {display:none;}
.mainSwitchBrowse #browse-main{display: block;}

.mainSwitchSettings #welcome-main{display: none;}
.mainSwitchSettings #login-main{display: none;}
.mainSwitchSettings #build-main{display: none;}
.mainSwitchSettings #play-main{display: none;}
.mainSwitchSettings #browse-main{display: none;}
.mainSwitchSettings #spectate-main{display: none;}
.mainSwitchSettings #community-main{display: none;}
.mainSwitchSettings #register-main {display: none;}
.mainSwitchSettings #forgot-main {display:none;}
.mainSwitchSettings #forgot-username-main {display:none;}
.mainSwitchSettings #settings-main{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 90vh;
  flex-direction: column;
}

.accountSettingsWrapper {
  padding-top: 0%;
}

.Account_Settings_Title {
  margin-top: 0%;
  padding-bottom: 1rem;
  padding-top: 1rem;
}

#account-danger {
  color: var(--danger);
}

.mainSwitchSpectate #welcome-main{display: none;}
.mainSwitchSpectate #login-main{display: none;}
.mainSwitchSpectate #build-main{display: none;}
.mainSwitchSpectate #play-main{display: none;}
.mainSwitchSpectate #browse-main{display: none;}
.mainSwitchSpectate #settings-main{display: none;}
.mainSwitchSpectate #community-main{display: none;}
.mainSwitchSpectate #register-main {display: none;}
.mainSwitchSpectate #forgot-main {display:none;}
.mainSwitchSpectate #forgot-username-main {display:none;}
.mainSwitchSpectate #spectate-main{display: block;}

.mainSwitchCommunity #welcome-main{display: none;}
.mainSwitchCommunity #login-main{display: none;}
.mainSwitchCommunity #build-main{display: none;}
.mainSwitchCommunity #play-main{display: none;}
.mainSwitchCommunity #browse-main{display: none;}
.mainSwitchCommunity #settings-main{display: none;}
.mainSwitchCommunity #spectate-main{display: none;}
.mainSwitchCommunity #register-main {display: none;}
.mainSwitchCommunity #forgot-main {display:none;}
.mainSwitchCommunity #forgot-username-main {display:none;}
.mainSwitchCommunity #community-main{display: block;}

.mainSwitchRegister #welcome-main{display: none;}
.mainSwitchRegister #login-main{display: none;}
.mainSwitchRegister #build-main{display: none;}
.mainSwitchRegister #play-main{display: none;}
.mainSwitchRegister #browse-main{display: none;}
.mainSwitchRegister #settings-main{display: none;}
.mainSwitchRegister #spectate-main{display: none;}
.mainSwitchRegister #community-main{display: none;}
.mainSwitchRegister #forgot-main {display:none;}
.mainSwitchRegister #forgot-username-main {display:none;}
.mainSwitchRegister #register-main {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 90vh;
  flex-direction: column;
}

.mainSwitchForgot #welcome-main{display: none;}
.mainSwitchForgot #login-main{display: none;}
.mainSwitchForgot #build-main{display: none;}
.mainSwitchForgot #play-main{display: none;}
.mainSwitchForgot #browse-main{display: none;}
.mainSwitchForgot #settings-main{display: none;}
.mainSwitchForgot #spectate-main{display: none;}
.mainSwitchForgot #community-main{display: none;}
.mainSwitchForgot #register-main {display: none;}
.mainSwitchForgot #forgot-username-main {display: none;}
.mainSwitchForgot #forgot-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 90vh;
}

.mainSwitchForgotUsername #welcome-main{display: none;}
.mainSwitchForgotUsername #login-main{display: none;}
.mainSwitchForgotUsername #build-main{display: none;}
.mainSwitchForgotUsername #play-main{display: none;}
.mainSwitchForgotUsername #browse-main{display: none;}
.mainSwitchForgotUsername #settings-main{display: none;}
.mainSwitchForgotUsername #spectate-main{display: none;}
.mainSwitchForgotUsername #community-main{display: none;}
.mainSwitchForgotUsername #register-main {display: none;}
.mainSwitchForgotUsername #forgot-main {display: none;}
.mainSwitchForgotUsername #forgot-username-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 90vh;
}

code {font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;}

canvas {
   position:absolute;
   width:100%;
   height:100%;
   left: 10.6rem;
   top:0px;
}

.navCollapsed canvas {
  left: 4.1rem;
}

footer {
  display: flex;
  margin-left: 11rem;
  justify-content: center;
  text-align: center;
  align-items: center;
}

footer a {
  color: var(--text-option2);
}

footer a:hover {
  color: var(--fire-orange);
  cursor: pointer;
}

.hiddenFooter {
  display: none;
}